/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.bancofloripa.controller;

import br.com.bancofloripa.dao.ContaDAO;
import br.com.bancofloripa.dao.ContaOuroDAO;
import br.com.bancofloripa.dao.ContaPoupancaDAO;
import br.com.bancofloripa.entity.*;
import java.util.List;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author fabianoc
 */
public class ExtratoController {
  
    private int valorClick;
    private int id;
    Conta ct;
    Cliente cl;
    Agencia ag;
    ContaDAO ctd;
    
    public void getClique(java.awt.event.MouseEvent evt, JTable jTable2, JTextField jtn) {
        if ( evt.getClickCount() >= 1 ){
            this.setValorClick((int) (Integer) jTable2.getValueAt( jTable2.getSelectedRow() , 0));
                ct = new ContaDAO().getById(getValorClick());
                if (ag != null) {
                    jtn.setText(ag.getNome());
                }
        }  
    }
    
   public void atualizaTabela(List<? extends Conta> lista, JTable tb ){

        DefaultTableModel model = (DefaultTableModel)tb.getModel();
        model.setRowCount( lista.size() );
        for ( int i = 0; i < lista.size(); i++ ){
            model.setValueAt( lista.get(i).getnConta() , i, 0);
            model.setValueAt( lista.get(i).getAgencia().getNome() , i, 1);
            model.setValueAt( lista.get(i).getCliente().getNome(), i, 2);
            model.setValueAt( lista.get(i).getSaldo() , i, 3);
            model.setValueAt( lista.get(i).getLimite() , i, 4);
            model.setValueAt( lista.get(i).getJuros() , i, 5);
         }
    }
   
   public List<? extends Conta> montandoList(String nome, String tipo) {
       System.out.println("montando");
       List<Conta> lista = null;
       if (tipo.equals("simples")) {
           lista = new ContaDAO().getByFilter(nome);
           System.out.println("simples");
           return lista;
       } else if (tipo.equals("ouro")) {
           List<ContaOuro> listaO = new ContaOuroDAO().getByFilter(nome);
           System.out.println("ouro");
           //lista.addAll(listaO);
           return listaO;
       } else {
           List<ContaPoupanca> listaP = new ContaPoupancaDAO().getByFilter(nome);
           System.out.println("poup");
           //lista.addAll(listaP);
           return listaP;
       }
       
   }
   public List<ContaPoupanca> montandoListPoup(String nome) {
           List<ContaPoupanca> listaP = new ContaPoupancaDAO().getByFilter(nome);
           System.out.println("poup");
           return listaP;
   }
   
   public List<ContaOuro> montandoListOuro(String nome) {
           List<ContaOuro> listaO = new ContaOuroDAO().getByFilter(nome);
           System.out.println("ouro");
           return listaO;
   }   
   
   public List<Conta> montandoListSimples(String nome) {
           List<Conta> lista = new ContaDAO().getByFilter(nome);
           System.out.println("simples");
           return lista;
   }   
   
   public List<? extends Conta> montandoList( String tipo ) {
       if (tipo.equals("simples")) {
           List<Conta> lista = new ContaDAO().getAll();
           return lista;
       } else if (tipo.equals("ouro")) {
           List<ContaOuro> listaO = new ContaOuroDAO().getAll();
           return listaO;
       } else {
           List<ContaPoupanca> listaP = new ContaPoupancaDAO().getAll();
           return listaP;
       }
       
   }   
   

   

    /**
     * @return the valorClick
     */
    public int getValorClick() {
        return valorClick;
    }

    /**
     * @param valorClick the valorClick to set
     */
    public void setValorClick(int valorClick) {
        this.valorClick = valorClick;
    }

        
}
